/*
 * XML Type:  PresentmentBillInfo
 * Namespace: http://ofx.net/types/2003/04
 * Java type: net.ofx.types.x2003.x04.PresentmentBillInfo
 *
 * Automatically generated - do not modify.
 */
package net.ofx.types.x2003.x04;


/**
 * An XML PresentmentBillInfo(@http://ofx.net/types/2003/04).
 *
 * This is a complex type.
 */
public interface PresentmentBillInfo extends org.apache.xmlbeans.XmlObject
{
    public static final org.apache.xmlbeans.SchemaType type = (org.apache.xmlbeans.SchemaType)schema.system.s3A74FF4CC3627C5B0D40068015746F8A.TypeSystemHolder.typeSystem.resolveHandle("presentmentbillinfo2e06type");
    
    /**
     * Gets the "BILLID" element
     */
    java.lang.String getBILLID();
    
    /**
     * Gets (as xml) the "BILLID" element
     */
    net.ofx.types.x2003.x04.IdType xgetBILLID();
    
    /**
     * Sets the "BILLID" element
     */
    void setBILLID(java.lang.String billid);
    
    /**
     * Sets (as xml) the "BILLID" element
     */
    void xsetBILLID(net.ofx.types.x2003.x04.IdType billid);
    
    /**
     * Gets the "PRESACCTFROM" element
     */
    net.ofx.types.x2003.x04.PresentmentAccount getPRESACCTFROM();
    
    /**
     * Sets the "PRESACCTFROM" element
     */
    void setPRESACCTFROM(net.ofx.types.x2003.x04.PresentmentAccount presacctfrom);
    
    /**
     * Appends and returns a new empty "PRESACCTFROM" element
     */
    net.ofx.types.x2003.x04.PresentmentAccount addNewPRESACCTFROM();
    
    /**
     * Gets the "PAYEEID" element
     */
    java.lang.String getPAYEEID();
    
    /**
     * Gets (as xml) the "PAYEEID" element
     */
    net.ofx.types.x2003.x04.PayeeIdType xgetPAYEEID();
    
    /**
     * True if has "PAYEEID" element
     */
    boolean isSetPAYEEID();
    
    /**
     * Sets the "PAYEEID" element
     */
    void setPAYEEID(java.lang.String payeeid);
    
    /**
     * Sets (as xml) the "PAYEEID" element
     */
    void xsetPAYEEID(net.ofx.types.x2003.x04.PayeeIdType payeeid);
    
    /**
     * Unsets the "PAYEEID" element
     */
    void unsetPAYEEID();
    
    /**
     * Gets the "BILLREFINFO" element
     */
    java.lang.String getBILLREFINFO();
    
    /**
     * Gets (as xml) the "BILLREFINFO" element
     */
    net.ofx.types.x2003.x04.BillRefInfoType xgetBILLREFINFO();
    
    /**
     * True if has "BILLREFINFO" element
     */
    boolean isSetBILLREFINFO();
    
    /**
     * Sets the "BILLREFINFO" element
     */
    void setBILLREFINFO(java.lang.String billrefinfo);
    
    /**
     * Sets (as xml) the "BILLREFINFO" element
     */
    void xsetBILLREFINFO(net.ofx.types.x2003.x04.BillRefInfoType billrefinfo);
    
    /**
     * Unsets the "BILLREFINFO" element
     */
    void unsetBILLREFINFO();
    
    /**
     * Gets the "AMTDUE" element
     */
    java.lang.String getAMTDUE();
    
    /**
     * Gets (as xml) the "AMTDUE" element
     */
    net.ofx.types.x2003.x04.AmountType xgetAMTDUE();
    
    /**
     * Sets the "AMTDUE" element
     */
    void setAMTDUE(java.lang.String amtdue);
    
    /**
     * Sets (as xml) the "AMTDUE" element
     */
    void xsetAMTDUE(net.ofx.types.x2003.x04.AmountType amtdue);
    
    /**
     * Gets the "MINAMTDUE" element
     */
    java.lang.String getMINAMTDUE();
    
    /**
     * Gets (as xml) the "MINAMTDUE" element
     */
    net.ofx.types.x2003.x04.AmountType xgetMINAMTDUE();
    
    /**
     * True if has "MINAMTDUE" element
     */
    boolean isSetMINAMTDUE();
    
    /**
     * Sets the "MINAMTDUE" element
     */
    void setMINAMTDUE(java.lang.String minamtdue);
    
    /**
     * Sets (as xml) the "MINAMTDUE" element
     */
    void xsetMINAMTDUE(net.ofx.types.x2003.x04.AmountType minamtdue);
    
    /**
     * Unsets the "MINAMTDUE" element
     */
    void unsetMINAMTDUE();
    
    /**
     * Gets the "DTPMTDUE" element
     */
    java.lang.String getDTPMTDUE();
    
    /**
     * Gets (as xml) the "DTPMTDUE" element
     */
    net.ofx.types.x2003.x04.DateTimeType xgetDTPMTDUE();
    
    /**
     * Sets the "DTPMTDUE" element
     */
    void setDTPMTDUE(java.lang.String dtpmtdue);
    
    /**
     * Sets (as xml) the "DTPMTDUE" element
     */
    void xsetDTPMTDUE(net.ofx.types.x2003.x04.DateTimeType dtpmtdue);
    
    /**
     * Gets the "DTBILL" element
     */
    java.lang.String getDTBILL();
    
    /**
     * Gets (as xml) the "DTBILL" element
     */
    net.ofx.types.x2003.x04.DateTimeType xgetDTBILL();
    
    /**
     * Sets the "DTBILL" element
     */
    void setDTBILL(java.lang.String dtbill);
    
    /**
     * Sets (as xml) the "DTBILL" element
     */
    void xsetDTBILL(net.ofx.types.x2003.x04.DateTimeType dtbill);
    
    /**
     * Gets the "DTOPEN" element
     */
    java.lang.String getDTOPEN();
    
    /**
     * Gets (as xml) the "DTOPEN" element
     */
    net.ofx.types.x2003.x04.DateTimeType xgetDTOPEN();
    
    /**
     * True if has "DTOPEN" element
     */
    boolean isSetDTOPEN();
    
    /**
     * Sets the "DTOPEN" element
     */
    void setDTOPEN(java.lang.String dtopen);
    
    /**
     * Sets (as xml) the "DTOPEN" element
     */
    void xsetDTOPEN(net.ofx.types.x2003.x04.DateTimeType dtopen);
    
    /**
     * Unsets the "DTOPEN" element
     */
    void unsetDTOPEN();
    
    /**
     * Gets the "DTCLOSE" element
     */
    java.lang.String getDTCLOSE();
    
    /**
     * Gets (as xml) the "DTCLOSE" element
     */
    net.ofx.types.x2003.x04.DateTimeType xgetDTCLOSE();
    
    /**
     * True if has "DTCLOSE" element
     */
    boolean isSetDTCLOSE();
    
    /**
     * Sets the "DTCLOSE" element
     */
    void setDTCLOSE(java.lang.String dtclose);
    
    /**
     * Sets (as xml) the "DTCLOSE" element
     */
    void xsetDTCLOSE(net.ofx.types.x2003.x04.DateTimeType dtclose);
    
    /**
     * Unsets the "DTCLOSE" element
     */
    void unsetDTCLOSE();
    
    /**
     * Gets the "PREVBAL" element
     */
    java.lang.String getPREVBAL();
    
    /**
     * Gets (as xml) the "PREVBAL" element
     */
    net.ofx.types.x2003.x04.AmountType xgetPREVBAL();
    
    /**
     * True if has "PREVBAL" element
     */
    boolean isSetPREVBAL();
    
    /**
     * Sets the "PREVBAL" element
     */
    void setPREVBAL(java.lang.String prevbal);
    
    /**
     * Sets (as xml) the "PREVBAL" element
     */
    void xsetPREVBAL(net.ofx.types.x2003.x04.AmountType prevbal);
    
    /**
     * Unsets the "PREVBAL" element
     */
    void unsetPREVBAL();
    
    /**
     * Gets the "ACTIVITY" element
     */
    java.lang.String getACTIVITY();
    
    /**
     * Gets (as xml) the "ACTIVITY" element
     */
    net.ofx.types.x2003.x04.AmountType xgetACTIVITY();
    
    /**
     * True if has "ACTIVITY" element
     */
    boolean isSetACTIVITY();
    
    /**
     * Sets the "ACTIVITY" element
     */
    void setACTIVITY(java.lang.String activity);
    
    /**
     * Sets (as xml) the "ACTIVITY" element
     */
    void xsetACTIVITY(net.ofx.types.x2003.x04.AmountType activity);
    
    /**
     * Unsets the "ACTIVITY" element
     */
    void unsetACTIVITY();
    
    /**
     * Gets the "ACCTBAL" element
     */
    java.lang.String getACCTBAL();
    
    /**
     * Gets (as xml) the "ACCTBAL" element
     */
    net.ofx.types.x2003.x04.AmountType xgetACCTBAL();
    
    /**
     * True if has "ACCTBAL" element
     */
    boolean isSetACCTBAL();
    
    /**
     * Sets the "ACCTBAL" element
     */
    void setACCTBAL(java.lang.String acctbal);
    
    /**
     * Sets (as xml) the "ACCTBAL" element
     */
    void xsetACCTBAL(net.ofx.types.x2003.x04.AmountType acctbal);
    
    /**
     * Unsets the "ACCTBAL" element
     */
    void unsetACCTBAL();
    
    /**
     * Gets the "INVOICE" element
     */
    net.ofx.types.x2003.x04.Invoice getINVOICE();
    
    /**
     * True if has "INVOICE" element
     */
    boolean isSetINVOICE();
    
    /**
     * Sets the "INVOICE" element
     */
    void setINVOICE(net.ofx.types.x2003.x04.Invoice invoice);
    
    /**
     * Appends and returns a new empty "INVOICE" element
     */
    net.ofx.types.x2003.x04.Invoice addNewINVOICE();
    
    /**
     * Unsets the "INVOICE" element
     */
    void unsetINVOICE();
    
    /**
     * Gets the "NOTIFYDESIRED" element
     */
    net.ofx.types.x2003.x04.BooleanType.Enum getNOTIFYDESIRED();
    
    /**
     * Gets (as xml) the "NOTIFYDESIRED" element
     */
    net.ofx.types.x2003.x04.BooleanType xgetNOTIFYDESIRED();
    
    /**
     * Sets the "NOTIFYDESIRED" element
     */
    void setNOTIFYDESIRED(net.ofx.types.x2003.x04.BooleanType.Enum notifydesired);
    
    /**
     * Sets (as xml) the "NOTIFYDESIRED" element
     */
    void xsetNOTIFYDESIRED(net.ofx.types.x2003.x04.BooleanType notifydesired);
    
    /**
     * Gets the "BILLTYPE" element
     */
    net.ofx.types.x2003.x04.BillTypeEnum.Enum getBILLTYPE();
    
    /**
     * Gets (as xml) the "BILLTYPE" element
     */
    net.ofx.types.x2003.x04.BillTypeEnum xgetBILLTYPE();
    
    /**
     * True if has "BILLTYPE" element
     */
    boolean isSetBILLTYPE();
    
    /**
     * Sets the "BILLTYPE" element
     */
    void setBILLTYPE(net.ofx.types.x2003.x04.BillTypeEnum.Enum billtype);
    
    /**
     * Sets (as xml) the "BILLTYPE" element
     */
    void xsetBILLTYPE(net.ofx.types.x2003.x04.BillTypeEnum billtype);
    
    /**
     * Unsets the "BILLTYPE" element
     */
    void unsetBILLTYPE();
    
    /**
     * Gets array of all "BILLSTATUS" elements
     */
    net.ofx.types.x2003.x04.BillStatus[] getBILLSTATUSArray();
    
    /**
     * Gets ith "BILLSTATUS" element
     */
    net.ofx.types.x2003.x04.BillStatus getBILLSTATUSArray(int i);
    
    /**
     * Returns number of "BILLSTATUS" element
     */
    int sizeOfBILLSTATUSArray();
    
    /**
     * Sets array of all "BILLSTATUS" element
     */
    void setBILLSTATUSArray(net.ofx.types.x2003.x04.BillStatus[] billstatusArray);
    
    /**
     * Sets ith "BILLSTATUS" element
     */
    void setBILLSTATUSArray(int i, net.ofx.types.x2003.x04.BillStatus billstatus);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "BILLSTATUS" element
     */
    net.ofx.types.x2003.x04.BillStatus insertNewBILLSTATUS(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "BILLSTATUS" element
     */
    net.ofx.types.x2003.x04.BillStatus addNewBILLSTATUS();
    
    /**
     * Removes the ith "BILLSTATUS" element
     */
    void removeBILLSTATUS(int i);
    
    /**
     * Gets array of all "BILLPMTSTATUS" elements
     */
    net.ofx.types.x2003.x04.BillPaymentstatus[] getBILLPMTSTATUSArray();
    
    /**
     * Gets ith "BILLPMTSTATUS" element
     */
    net.ofx.types.x2003.x04.BillPaymentstatus getBILLPMTSTATUSArray(int i);
    
    /**
     * Returns number of "BILLPMTSTATUS" element
     */
    int sizeOfBILLPMTSTATUSArray();
    
    /**
     * Sets array of all "BILLPMTSTATUS" element
     */
    void setBILLPMTSTATUSArray(net.ofx.types.x2003.x04.BillPaymentstatus[] billpmtstatusArray);
    
    /**
     * Sets ith "BILLPMTSTATUS" element
     */
    void setBILLPMTSTATUSArray(int i, net.ofx.types.x2003.x04.BillPaymentstatus billpmtstatus);
    
    /**
     * Inserts and returns a new empty value (as xml) as the ith "BILLPMTSTATUS" element
     */
    net.ofx.types.x2003.x04.BillPaymentstatus insertNewBILLPMTSTATUS(int i);
    
    /**
     * Appends and returns a new empty value (as xml) as the last "BILLPMTSTATUS" element
     */
    net.ofx.types.x2003.x04.BillPaymentstatus addNewBILLPMTSTATUS();
    
    /**
     * Removes the ith "BILLPMTSTATUS" element
     */
    void removeBILLPMTSTATUS(int i);
    
    /**
     * Gets the "STMNTIMAGE" element
     */
    net.ofx.types.x2003.x04.StatementImage getSTMNTIMAGE();
    
    /**
     * True if has "STMNTIMAGE" element
     */
    boolean isSetSTMNTIMAGE();
    
    /**
     * Sets the "STMNTIMAGE" element
     */
    void setSTMNTIMAGE(net.ofx.types.x2003.x04.StatementImage stmntimage);
    
    /**
     * Appends and returns a new empty "STMNTIMAGE" element
     */
    net.ofx.types.x2003.x04.StatementImage addNewSTMNTIMAGE();
    
    /**
     * Unsets the "STMNTIMAGE" element
     */
    void unsetSTMNTIMAGE();
    
    /**
     * Gets the "DETAILAVAILABLE" element
     */
    net.ofx.types.x2003.x04.BooleanType.Enum getDETAILAVAILABLE();
    
    /**
     * Gets (as xml) the "DETAILAVAILABLE" element
     */
    net.ofx.types.x2003.x04.BooleanType xgetDETAILAVAILABLE();
    
    /**
     * True if has "DETAILAVAILABLE" element
     */
    boolean isSetDETAILAVAILABLE();
    
    /**
     * Sets the "DETAILAVAILABLE" element
     */
    void setDETAILAVAILABLE(net.ofx.types.x2003.x04.BooleanType.Enum detailavailable);
    
    /**
     * Sets (as xml) the "DETAILAVAILABLE" element
     */
    void xsetDETAILAVAILABLE(net.ofx.types.x2003.x04.BooleanType detailavailable);
    
    /**
     * Unsets the "DETAILAVAILABLE" element
     */
    void unsetDETAILAVAILABLE();
    
    /**
     * Gets the "BILLDETAILTABLE" element
     */
    net.ofx.types.x2003.x04.BillDetailTable getBILLDETAILTABLE();
    
    /**
     * True if has "BILLDETAILTABLE" element
     */
    boolean isSetBILLDETAILTABLE();
    
    /**
     * Sets the "BILLDETAILTABLE" element
     */
    void setBILLDETAILTABLE(net.ofx.types.x2003.x04.BillDetailTable billdetailtable);
    
    /**
     * Appends and returns a new empty "BILLDETAILTABLE" element
     */
    net.ofx.types.x2003.x04.BillDetailTable addNewBILLDETAILTABLE();
    
    /**
     * Unsets the "BILLDETAILTABLE" element
     */
    void unsetBILLDETAILTABLE();
    
    /**
     * A factory class with static methods for creating instances
     * of this type.
     */
    
    public static final class Factory
    {
        public static net.ofx.types.x2003.x04.PresentmentBillInfo newInstance() {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, null ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo newInstance(org.apache.xmlbeans.XmlOptions options) {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newInstance( type, options ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.lang.String s) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, null ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.lang.String s, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( s, type, options ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.io.File f) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, null ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.io.File f, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( f, type, options ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.net.URL u) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, null ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.net.URL u, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( u, type, options ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.io.InputStream is) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, null ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.io.InputStream is, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( is, type, options ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.io.Reader r) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, null ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(java.io.Reader r, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, java.io.IOException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( r, type, options ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(org.w3c.dom.Node node) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, null ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(org.w3c.dom.Node node, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( node, type, options ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, null ); }
        
        public static net.ofx.types.x2003.x04.PresentmentBillInfo parse(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return (net.ofx.types.x2003.x04.PresentmentBillInfo) org.apache.xmlbeans.XmlBeans.getContextTypeLoader().parse( xis, type, options ); }
        
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, null ); }
        
        public static org.apache.xmlbeans.xml.stream.XMLInputStream newValidatingXMLInputStream(org.apache.xmlbeans.xml.stream.XMLInputStream xis, org.apache.xmlbeans.XmlOptions options) throws org.apache.xmlbeans.XmlException, org.apache.xmlbeans.xml.stream.XMLStreamException {
          return org.apache.xmlbeans.XmlBeans.getContextTypeLoader().newValidatingXMLInputStream( xis, type, options ); }
        
        private Factory() { } // No instance of this class allowed
    }
}
